1. Field
The present disclosure relates generally to aircraft and, in particular, to software aircraft parts. More particularly, the present disclosure relates to a method and apparatus for associating security information with software parts and using such security information to check the authenticity and integrity of software parts for an aircraft or other vehicle.
2. Background
Modern aircraft are extremely complex. For example, an aircraft may have many types of electronic systems on board. An electronic system on an aircraft may be a line-replaceable unit (LRU). A line-replaceable unit is designed to be easily replaceable.
An electronic system may take on various forms. An electronic system on an aircraft may be, for example, without limitation, a flight management system, an autopilot, an in-flight entertainment system, a communications system, a navigation system, a flight controller, a flight recorder, and a collision avoidance system. The various electronic systems on an aircraft may communicate with each other via digital airplane networks.
Electronic systems may use software or programming to provide the logic or control for various operations and functions. The software used in these electronic systems is commonly treated as parts in the airline industry. In particular, a software application for use in a line-replaceable unit on an aircraft may be tracked separately from the line-replaceable unit itself. Aircraft software that is treated as an aircraft part may be referred to as a loadable software aircraft part, an aircraft software part, or simply as a software part. A software part may be considered part of the configuration of an aircraft, rather than part of the hardware which operates the software.
Aircraft operators are entities that operate aircraft. Examples of aircraft operators include airlines and military units. Aircraft operators may be responsible for the maintenance and repair of aircraft. Maintenance and repair of an aircraft may include loading software parts on the aircraft.
Software parts are typically already installed in the electronic systems on an aircraft when an aircraft operator receives an aircraft. For example, software parts for the electronic systems may be provided by the aircraft manufacturer and installed on the aircraft by the aircraft manufacturer before the aircraft is delivered to the operator. The aircraft operator may also receive copies of these loaded software parts in case the parts need to be reinstalled or reloaded into the electronic systems on the aircraft. Reloading of software parts may be required, for example, if a line-replaceable unit in which the software is used is replaced or repaired.
An aircraft operator also may receive updates to the software parts from the aircraft manufacturer from time to time. These updates may include additional features not present in the currently-installed software parts and may be considered upgrades to one or more electronic systems. Alternatively, or in addition, these updates may include fixes to issues that may have been discovered in the currently-installed software parts. These updates also may be loaded on the aircraft by the aircraft operator.
An aircraft operator also may provide software parts for an aircraft. Operator provided software parts may be loaded on the aircraft by the aircraft manufacturer before the aircraft is delivered to the operator. Operator provided software parts also may be loaded on the aircraft by the operator after delivery. For example, operator software parts that were installed on the aircraft by the manufacturer may need to be reloaded on the aircraft in some cases. Updates to the operator software parts also may be loaded on the aircraft by the operator from time to time.
Specified procedures may be followed by the operator of an aircraft during loading of manufacturer and operator provided software parts on an aircraft so that the current configuration of the aircraft is known. The software configuration of an aircraft includes all of the software parts loaded on the aircraft.
Specified security procedures also may be followed to ensure that software parts that are loaded on an aircraft are correct and do not affect the operation of the aircraft in any undesired way. For example, it may be desirable to authenticate the source of a software part and to verify the integrity of the software part before the software part is loaded or otherwise used on the aircraft.
Accordingly, it would be beneficial to have a method and apparatus that take into account one or more of the issues discussed above, as well as possible other issues.